package com.example.utils;

/**
 * 常量类，存放全局静态常量
 *
 * @auth shanyue
 * @date 2025年06月19日14:27
 */
public class Const {

    //JWT黑名单前缀，用于标记已作废的Token，防止被再次使用
    public static final String JWT_BLACK_LIST = "jwt:blacklist:";

    //限制邮箱验证码请求频率的Redis key前缀，用于防止用户频繁请求验证码
    public static final String VERIFY_EMAIL_LIMIT = "verify:email:limit:";

    //存储邮箱验证码数据的Redis key前缀，用于验证码的验证和校验
    public static final String VERIFY_EMAIL_DATA = "verify:email:data:";

    //跨域过滤器优先级，决定跨域请求过滤器的执行顺序
    public static final int ORDER_CORS = -102;

    //限流过滤器优先级，决定流星限制过滤器的执行顺序
    public static final int ORDER_LIMIT = -101;

    //流量限制计数器的Redis key前缀，用于统计某个资源的访问次数
    public static final String FLOW_LIMIT_COUNTER = "flow:counter:";

    //流量封禁标识的Redis key前缀，用于标记已被封禁的IP
    public static final String FLOW_LIMIT_BLOCK = "flow:block:";

    //Redis中存储亲戚关系图的key前缀，用于关系缓存
    public static final String REDIS_KEY_PREFIX = "relation:";

}
